package top.xcxdl.rural.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author Ding
 * @since 2022-05-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class RuralProduct implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 产品主键id
     */
    @TableId(value = "product_id", type = IdType.AUTO)
    private Integer productId;

    /**
     * 产品名称（确切的东西，比如苹果，鸭梨）
     */
    private String productName;

    /**
     * 作者id（后台管理员或用户）
     */
    private Integer authorId;

    /**
     * 作者类型（1管理员<官方>，0用户）
     */
    private Integer authorType;

    /**
     * 产品标题
     */
    private String productTitle;

    /**
     * 产品内容
     */
    private String productContent;

    /**
     * 产品id字符串数组
     */
    private String productResources;

    /**
     * 产品宣传类型（0纯文字，1文字+图片，2文字+视频）
     */
    private Integer productType;

    /**
     * 审核状态：0未审核，1审核通过，2审核驳回（后台发布默认通过）
     */
    private Integer productStatus;

    /**
     * 创建时间（10位时间戳）
     */
    private String createTime;

    /**
     * 审核时间（10位时间戳）
     */
    private String updateTime;

    @TableField(exist = false)
    private String authorNickname;

    @TableField(exist = false)
    private String authorAvatarUrl;

    @TableField(exist = false)
    private List<String> resourcesArray;

    @TableField(exist = false)
    private String resourcesString;

}
